Alteryxで行数をカウントする方法2種類と動きの違い
こんにちは、小澤です。
今回はAlteryxの比較的軽めの話として、行数をカウントする方法について書きたいと思います。
行数をカウントする方法2種類
さて、「行数をカウントする方法」で最初に思い浮かぶのはSummarizeツールでしょうか? 以下のように指定する列は何でもいいのでGroupBy無しでCountを選ぶことで全体の行数を取得できます。
実は、このような全体の行数のみを求めればいいような場合にはそれに特化したツールがあります。 それがCount Recordsツールです。
そのままな名称のツールですね。 このツールには特に設定値はなく、ただつなげば以下のように行数が返ってきます。
使い方がとっても簡単なツールかつよくやる処理、とはいえSummarizeツールでもサクッとできてしまうことがなぜ個別のツールになっているのでしょうか? その理由は実は"ある特定の状況"での動きの違いにあります。
どういう時に動きが異なるか
では、以下のようなワークフローで考えてみましょう。
非常にシンプルなワークフローです。
実は、このワークフローでは、Filterツールで指定した条件を満たすデータがありません。 そのため、Filterツールでの出力は以下のようになっています。
このような状況になる場面として想定されるのは、日々実行したり、ソースが異なるデータに対して同じ処理を実行したいなどが考えられます。 その際、対象となるデータによっては"条件を満たすものが存在しない"という状況は発生しうるでしょう。 これに対して、後続の処理でそれをどのように扱うかは状況によって異なりますが、Summarizeツールによる行数カウントとCount Recordsツールによる行数カウントは適切に使い分けやすい仕組みになっています。
では、これらがどのような動きをするのか順にみてみましょう。
まずは、上部のSummarizeツールの出力結果です。
Filterツールの結果と同様、出力が0件となりました。 これは、Count以外の他の集計もあることを踏まえるとSummarizeツールとしては統一された出力になっているといえます。
では、Count Recordsツールの出力はどうなるのでしょうか?
結果は、1レコードで「0」となっています。 単純に行数を数えるのみであればこちらの方がより適切な出力結果ともいえます。
このように入力が0件の場合
- Summarizeツール : なにも出力しない
- Count Recordsツール : 「0」を出力
という違いがあります。 どちらが都合がいいかはそのワークフローで実行したい処理に応じて合わせることが可能です。
おわりに
今回はAlteryxでデータの行数をカウントする方法としてSummarizeツールとCount Recordsツール、およびそれらの動きの違いについて解説しました。
緩めのネタですが、ちょっとしたTipsとして知っておくと役立つでしょう。
Alteryxの導入なら、クラスメソッドにおまかせください
日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。